Computer hardware, computer operating systems, and computer networking systems have evolved at tremendous rates during the past 50 years. Electronic data-storage systems have evolved at similar rates, become increasingly robust, capable, and useful and providing ever increasing data-storage capacities. Initially, electronic data was stored on Hollerith cards, on magnetic tape, and, subsequently, on removable disk packs, and was generally loaded, at run time, for use by stand-alone software programs running on stand-alone computer systems. Currently, vast amounts of data are now routinely stored in networked computer systems and specialized data-storage systems, available for concurrent access by myriads of local and remote users. Data can be easily replicated across mass-storage devices and systems for high reliability and high availability and can be managed and accessed through various feature-rich interfaces provided by database management systems and distributed file systems. However, along with at least geometrical growth in data-storage capacities, accessibility, and robustness, the complexities of both file systems and database management systems, including the complexity of configuring and managing such systems, have also grown.
Recently, a new type of data-object storage system has been developed in order to simplify data-object storage and retrieval. Rather than relying on predefined database schemas and elaborate user interfaces, relying on configuring complex hierarchical distributed file-system structures, or configuring and managing distributed reversion-control systems, certain of these new, simplified data-object storage systems allow data objects to be associated with tags, or attributes, by users of the systems, stored in the data-object storage systems in association with the tags, and subsequently recovered from the data-object storage systems by specifying one or more tags. While the simplified interface provided by this new class of data-object storage systems provides welcome increases in usability and flexibility to users of the data-object storage systems, new design challenges are frequently encountered. Therefore, developers, vendors, and users of simplified, tag-associated data-object storage systems continually seek new methods and techniques for improving current functionality and for adding new functionality to these simplified data-object storage systems.